分类
联系方式
  1. 新浪微博
  2. E-mail

Dart eval:IdentifierReference

介绍

引用一个《Dart Analyzer:Identifier》,其中 name 表示的是 SimpleIndentifier 部分,object 表示的是 Prefix 部分(类型为 dart_eval 中的 Variable)。

当有 Prefix(有 object)情况下,name 与 object 的从属关系,根据不同语境是不同的,分别可以表示:

  • 访问局部变量
  • 访问成员变量/方法
  • 访问全局变量/顶层函数

成员

Variable? object;
final String name;

resolveType

每个 identifer 都有与之关联的类型。通过该方法进行解析,逻辑如下:

  1. object 不为空,在 object 作用域内查找
  2. object 为空
    1. 在局部作用域内查找
    2. 在类实例作用域中查找